package br.com.monise.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Collection;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name="USUARIO")
public class Usuario implements Serializable{
	
	private static final long serialVersionUID = 1L;

	@Id
/*	@SequenceGenerator(name="USUARIO_SEQUENCE", sequenceName="USUARIO_SEQUENCE", initialValue=1, allocationSize=1)
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="USUARIO_SEQUENCE")*/
	@Column(name="pk_Usuario")
	private Long pkUsuario;
	
	@Column(name="nome")
	private String nome;
	
	@Column(name="login")
	private String login;
	
	@Column(name="senha")
	private String senha;
	
	@Column(name="patamar_artigo")
	private BigDecimal patamarArtigo;
	
	@Column(name="patamar_usuario")
	private BigDecimal patamarUsuario;
	
	@OneToMany(mappedBy="usuario", cascade=CascadeType.ALL)
	private Collection<ArtigosUsuario> artigosUsuario;
	
	@Column(name="repositorio")
	private String repositorioArtigos;
	
	public Long getPkUsuario() {
		return pkUsuario;
	}
	
	public void setPkUsuario(Long pkUsuario) {
		this.pkUsuario = pkUsuario;
	}
	
	public String getNome() {
		return nome;
	}
	
	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getLogin() {
		return login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	public String getSenha() {
		return senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

	public BigDecimal getPatamarArtigo() {
		return patamarArtigo;
	}

	public void setPatamarArtigo(BigDecimal patamarArtigo) {
		this.patamarArtigo = patamarArtigo;
	}

	public BigDecimal getPatamarUsuario() {
		return patamarUsuario;
	}

	public void setPatamarUsuario(BigDecimal patamarUsuario) {
		this.patamarUsuario = patamarUsuario;
	}

	public Collection<ArtigosUsuario> getArtigosUsuario() {
		return artigosUsuario;
	}

	public void setArtigosUsuario(Collection<ArtigosUsuario> artigosUsuario) {
		this.artigosUsuario = artigosUsuario;
	}

	public String getRepositorioArtigos() {
		return repositorioArtigos;
	}

	public void setRepositorioArtigos(String repositorioArtigos) {
		this.repositorioArtigos = repositorioArtigos;
	}

}
